﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ComponentModel;

namespace THO7AlgorithmBase
{
    public abstract class Algorithm
    {
        private String _Name;
        private int _algoType;
        /// <summary>
        /// This integer represents the Algorithm Type if this algorithm. 
        /// 0 = pre-localisation
        /// 1 = localisation
        /// 2 = transform/rotate
        /// 3 = dilation
        /// 4 = blob/cut up
        /// 5 = OCR
        /// </summary>
        [CategoryAttribute("Algorithm"), DescriptionAttribute("Type of the algorithm. 0 = prelocalisation, 1 = localisation, 2 = transform, 3 = dilation, 4 = blob/cut up, 5 = OCR")]
        public int algoType{
            get {
                return _algoType;
            }
            set {
                _algoType = value;
            }
        }
        /// <summary>
        /// Constructor for a new OCRAlgorithm
        /// </summary>
        /// <param name="name">Name of the algorithm</param>
        public Algorithm(string name)
        {
            _Name = name;
        }

        /// <summary>
        /// Name of the algorithm.
        /// </summary>
        [CategoryAttribute("Algorithm"), DescriptionAttribute("Name of the algorithm")]
        public String Name
        {
            get
            {
                return _Name;
            }
        }
    }
}
